Conventional enterprise computing systems include enterprise applications designed to for large scale deployment via a Service Oriented Architecture (SOA) platform. As the complexity and scope of these enterprise applications continues to grow, it has become increasingly important to improve the manner in which the full lifecycle of the computing system is governed. For example, a user (e.g., a system integrator, developer, end-user organization) may wish to manage a project involving the maintenance or enhancement of an existing computing system. To do so, the user may need a description of the behavior of the services within the existing system.
Having an accurate description of each service's behavior enables the user to evaluate the changes required for a new version of the system relative to the existing system. Evaluating the relative changes further allows the user to assess the impact of those changes and identify any backward compatibility issues. This information may be used to estimate the development effort required for the implementation of a new system and assist the user in planning the rollout of a new system in a manner which minimizes a negative impact (e.g., loss of service) to existing users.
However, it is common for documentation relating to the operation and functionality of a service to be either non-existent or out of date. In the absence of such documentation, the user may inspect the service itself (i.e., the service's implementation code) to determine the behavior of the services. Furthermore, inspection of the service's implementation code can be time consuming and inefficient.